Robotic cleaning apparatus and related methods

ABSTRACT

A robotic cleaning apparatus for cleaning a toilet includes a cleaning head, an articulated body, and a controller. The articulated body coupled to the cleaning head and mountable to the toilet. The body having one or more actuators that collectively move the cleaning head into contact with surfaces of the toilet bowl and toilet seat when the articulated body is mounted to the toilet. The controller communicatively coupled to the one or more actuators to send control signals that, when the articulated body is mounted to the toilet, direct the one or more actuators to move the cleaning head to a plurality of positions and determine an angular orientation of the toilet seat based at least in part on the plurality of positions. The cleaning head is in contact with the toilet seat or a rim of the toilet bowl in each of the positions.

FIELD

This application is related to the field of robotic cleaning apparatusand related methods.

INTRODUCTION

Domestic cleaning is generally considered an undesirable task thatinvolves manual interaction with dirty elements within a home or office.Basins, such as toilet bowls, bathtubs, and sinks, tend to collectparticularly unsanitary matter, and are therefore among the leastdesirable domestic elements to clean.

SUMMARY

In one aspect, a robotic cleaning apparatus for cleaning a dirty objectis provided. The robotic cleaning apparatus may comprise a cleaning headand an articulated body. The articulated body may be coupled to thecleaning head and mountable to the dirty object, the body having one ormore actuators that collectively move the cleaning head into contactwith surfaces of the dirty object. The one or more actuators, whenactivated, may collectively rotate the cleaning head relative to thedirty object about first and second axes, and translate the cleaninghead relative to the dirty object along an extension axis.

In another aspect, a method of robotically cleaning an inner surface ofa basin is provided. The method may comprise mapping a cleaning path ofa first segment of the inner surface, and cleaning the first segment ofthe inner surface by moving a cleaning head along the cleaning path incontact with the first segment.

In another aspect, a method of robotically cleaning an inner surface ofa basin is provided. The method may comprise radially moving a cleaninghead into contact with a first segment of the inner surface; rotatingthe cleaning head about a first axis while modulating a radial positionof the cleaning head to maintain brushing contact of the cleaning headalong a length of the first segment; rotating the cleaning head about asecond axis into alignment with a second segment of the inner surface;and rotating the cleaning head about the first axis while modulating theradial position of the cleaning head to maintain brushing contact of thecleaning head along a length of the second segment.

In another aspect, a robotic toilet bowl cleaning apparatus is provided.The apparatus may comprise a toilet bowl mount, a cleaning head, a body,and a controller. The body may be coupled to the cleaning head and thetoilet bowl mount. The body may have one or more actuators thatcollectively move the cleaning head into contact with inside surfaces ofa toilet bowl when the toilet bowl mount is secured to the toilet bowl.The one or more actuators, when activated, collectively move thecleaning head relative to the inside surfaces with respect to at leastthree different axes, including rotation about a vertical axis androtation about a horizontal axis. The controller may be communicativelycoupled to the one or more actuators to send control signals that directthe one or more actuators to activate.

In another aspect, a robotic cleaning apparatus for cleaning a dirtyobject is provided. The robotic cleaning apparatus may comprise acleaning head and an articulated body. The articulated body may becoupled to the cleaning head and mountable to the dirty object. The bodymay have one or more actuators that collectively move the cleaning headinto contact with surfaces of the dirty object. The one or moreactuators, when activated, may collectively pivot the cleaning headrelative to the dirty object about a first axis, and telescopicallyextend the cleaning head outwardly away from the first axis along anextension axis.

In another aspect, a telescoping arm is provided. The telescoping armmay include a base, an outer elongate member, an inner elongate member,and a transmission. The outer elongate member may be connected to thebase, and axially movable relative to the base between retracted andextended positions. The inner elongate member may be connected to theouter elongate member, and axially movable relative to the outerelongate member between the retracted and extended positions. Thetransmission may drive the inner and outer elongate members to moveconcurrently between the retracted and extended positions.

In another aspect, a robotic cleaning apparatus for cleaning a toiletincluding a toilet bowl and a toilet seat is provided. The roboticcleaning apparatus may include a cleaning head, an articulated body, anda controller. The articulated body may be coupled to the cleaning headand mountable to the toilet. The body may have one or more actuatorsthat collectively move the cleaning head into contact with surfaces ofthe toilet bowl and toilet seat when the articulated body is mounted tothe toilet. The controller may be communicatively coupled to the one ormore actuators to send control signals that, when the articulated bodyis mounted to the toilet, direct the one or more actuators to (i) movethe cleaning head to a plurality of positions, the cleaning head incontact with the toilet seat or a rim of the toilet bowl in each of thepositions, and the cleaning head in contact with the toilet seat in atleast one of the positions, and (ii) determine an angular orientation ofthe toilet seat based at least in part on the plurality of positions.

In another aspect, a method of determining an angular orientation of atoilet seat of a toilet, the toilet including the toilet seat and atoilet bowl is provided. The method may include moving a cleaning headof a robotic cleaning apparatus to a plurality of positions, the roboticcleaning apparatus mounted to the toilet, the cleaning head in contactwith the toilet seat or a rim of the toilet bowl in each of thepositions, and the cleaning head in contact with the toilet seat in atleast one of the positions; and determining, by a controller of therobotic cleaning apparatus, an angular orientation of the toilet seatbased at least in part on the plurality of positions.

DRAWINGS

FIG. 1 is a perspective view of a robotic cleaning apparatus mounted toa toilet, in accordance with an embodiment;

FIG. 2 is a side view of the robotic cleaning apparatus of FIG. 1, withthe toilet sectioned along line 2-2 in FIG. 1;

FIG. 3 is an exploded view of the robotic cleaning apparatus of FIG. 1mounted to a toilet;

FIG. 4 is the exploded view of FIG. 3, with an upper housing separatedinto halves;

FIG. 5 is a perspective view of the robotic cleaning apparatus of FIG. 1with housings removed;

FIG. 6 is a perspective view of a third articulated body portion,showing an extension shaft in a retracted position;

FIG. 7 is the perspective view of FIG. 6 showing the extension shaft inan intermediate position;

FIG. 8 is a perspective view of the third articulated body portion,showing the extension shaft in an extended position;

FIG. 9 is a rear perspective view of a cleaning head;

FIG. 10 is a front perspective view of the cleaning head of FIG. 9;

FIG. 11 is a front elevation view of the cleaning head of FIG. 9;

FIG. 12 is an exploded view of a rigid arm;

FIG. 13 is a top elevation view of the rigid arm of FIG. 12, showing aconnector in an engaged position;

FIG. 14 is the top elevation view of FIG. 13 showing the connector in adisengaged position;

FIG. 15 is a schematic illustration of a controller communicativelycoupled to various components;

FIG. 16 is the side view of FIG. 2 showing the cleaning head moved intocontact with a first segment;

FIG. 17 is a top elevation view of the robotic cleaning apparatus ofFIG. 1 mounted to the toilet, and showing the cleaning head in threepositions;

FIG. 18 is the side elevation view of FIG. 2 showing the cleaning headmoved into contact with a second and third segment;

FIG. 19 is an enlarged view of region 19 in FIG. 18;

FIG. 20 is the side elevation view of FIG. 2 showing the toilet seat ina tilted position and the cleaning head moved in contact with the toiletseat;

FIG. 21 is the top view of FIG. 17 showing the cleaning head in twoincremental positions for mapping a cleaning path;

FIG. 22 is a front perspective view of a robotic cleaning apparatus, inaccordance with another embodiment;

FIG. 23A is a rear perspective view of the robotic cleaning apparatus ofFIG. 22 showing a connector disconnected from a mount, in accordancewith an embodiment;

FIG. 23B is a rear perspective view of the robotic cleaning apparatus ofFIG. 22 showing the connector connected to the mount;

FIG. 24 is another front perspective view of the surface cleaningapparatus of FIG. 22;

FIG. 25 is a front perspective view of a charging station, in accordancewith an embodiment;

FIG. 26 is a front perspective view of a robotic cleaning systemincluding the robotic cleaning apparatus of FIG. 22 docked in thecharging station of FIG. 25;

FIG. 27 is schematic illustration of a robotic cleaning apparatusnavigating a cleaning head around an obstacle;

FIG. 28 is a side elevation view, with the toilet sectioned,illustrating cleaning a vertically oriented surface segment inaccordance with an embodiment;

FIG. 29 is a perspective view of a robotic cleaning apparatus withhousings removed, in accordance with an embodiment;

FIG. 30 is a perspective view of a third articulated body portion of therobotic cleaning apparatus of FIG. 29, showing a telescoping arm in aretracted position;

FIG. 31 is a perspective view of the third articulated body portion ofFIG. 30, with the telescoping arm in an extended position;

FIG. 32A is a top plan view of the telescoping arm of FIG. 30 in theretracted position;

FIG. 32B is a cross-section taken along line 32B-32B in FIG. 32A;

FIG. 33A is a top plan view of the telescoping arm of FIG. 30 in theextended position;

FIG. 33B is a cross-section taken along line 33B-33B in FIG. 33A;

FIG. 34 is a rear perspective view of a cleaning head, in accordancewith an embodiment;

FIG. 35 is a front perspective view of the cleaning head of FIG. 34;

FIG. 36 is a front elevation view of the cleaning head of FIG. 34;

FIG. 37 is a rear perspective view of the cleaning head of FIG. 34, witha separated cleaning member;

FIG. 38 is a side view showing a sectioned toilet with a toilet seat ina tilted position and the robotic cleaning apparatus of FIG. 29 havingthe cleaning head of FIG. 34 moved into contact with the toilet seat;

FIG. 39A is a perspective view of a robotic cleaning apparatus mountedto a toilet with a toilet seat in a tilted position, and a cleaning headof the robotic cleaning apparatus in contact with a rim of the toilet,in accordance with an embodiment;

FIG. 39B is a side view showing a sectioned toilet with a toilet seat ina tilted position and the robotic cleaning apparatus of FIG. 39A withthe cleaning head in contact with the rim of the toilet;

FIG. 40A is a perspective view of the robotic cleaning apparatus andtoilet of FIG. 39A, with the cleaning head in contact with a seat of thetoilet;

FIG. 40B is a side view showing the sectioned toilet of FIG. 39B and therobotic cleaning apparatus of FIG. 39A with the cleaning head in contactwith a seat of the toilet;

FIG. 41 is a perspective view of the robotic cleaning apparatus andtoilet of FIG. 39A, with the cleaning head in contact with the seat ofthe toilet at a second position; and

FIG. 42 is a perspective view of the robotic cleaning apparatus andtoilet of FIG. 39A, with the cleaning head in contact with the seat ofthe toilet at a third position.

DESCRIPTION OF VARIOUS EMBODIMENTS

Numerous embodiments are described in this application, and arepresented for illustrative purposes only. The described embodiments arenot intended to be limiting in any sense. The invention is widelyapplicable to numerous embodiments, as is readily apparent from thedisclosure herein. Those skilled in the art will recognize that thepresent invention may be practiced with modification and alterationwithout departing from the teachings disclosed herein. Althoughparticular features of the present invention may be described withreference to one or more particular embodiments or figures, it should beunderstood that such features are not limited to usage in the one ormore particular embodiments or figures with reference to which they aredescribed.

The terms “an embodiment,” “embodiment,” “embodiments,” “theembodiment,” “the embodiments,” “one or more embodiments,” “someembodiments,” and “one embodiment” mean “one or more (but not all)embodiments of the present invention(s),” unless expressly specifiedotherwise.

The terms “including,” “comprising” and variations thereof mean“including but not limited to,” unless expressly specified otherwise. Alisting of items does not imply that any or all of the items aremutually exclusive, unless expressly specified otherwise. The terms “a,”“an” and “the” mean “one or more,” unless expressly specified otherwise.

As used herein and in the claims, two or more parts are said to be“coupled”, “connected”, “attached”, or “fastened” where the parts arejoined or operate together either directly or indirectly (i.e., throughone or more intermediate parts), so long as a link occurs. As usedherein and in the claims, two or more parts are said to be “directlycoupled”, “directly connected”, “directly attached”, or “directlyfastened” where the parts are connected in physical contact with eachother. As used herein, two or more parts are said to be “rigidlycoupled”, “rigidly connected”, “rigidly attached”, or “rigidly fastened”where the parts are coupled so as to move as one while maintaining aconstant orientation relative to each other. None of the terms“coupled”, “connected”, “attached”, and “fastened” distinguish themanner in which two or more parts are joined together.

As used herein and in the claims, a first element is said to be“received” in a second element where at least a portion of the firstelement is received in the second element unless specifically statedotherwise.

Further, although method steps may be described (in the disclosureand/or in the claims) in a sequential order, such methods may beconfigured to work in alternate orders. In other words, any sequence ororder of steps that may be described does not necessarily indicate arequirement that the steps be performed in that order. The steps ofmethods described herein may be performed in any order that ispractical. Further, some steps may be performed simultaneously.

FIG. 1 shows a robotic cleaning apparatus 100, which is operable toautomatically clean a dirty object 104. For example, robotic cleaningapparatus 100 may be operable to automatically clean at least insidesurfaces 108 of a basin 112, such as a toilet bowl as shown, a sink, orother bowl-like portion of a dirty object 104. As shown, roboticcleaning apparatus 100 may include an articulated body 116 that issecured to the dirty object 104 by a mount 120 and that is drivinglyconnected to a cleaning head 124. Articulated body 116 may be operableto move the cleaning head 124 with several degrees of freedom intobrushing contact with dirty object 104, such as across inside surfaces108 of basin 112. Once activated, robotic cleaning apparatus 100 mayclean the dirty object 104 automatically (i.e. without further useraction).

Still referring to FIG. 1, articulated body 116 may be suspended overbasin 112. As shown, articulated body 116 may be suspended within aperiphery of basin 112. Referring to FIG. 2, basin 112 has a volume 128bordered by basin inside surfaces 108 and basin opening 132. Articulatedbody 116 may be positioned partially within (and partially outside) avolume 128 of basin 112 as shown, entirely within basin volume 128, orentirely outside (e.g. above) basin volume 128. In any case, articulatedbody 116 may be spaced apart from surfaces 108 of basin 112. Forexample, articulated body 116 may be positioned within a projection ofbasin opening 132 normal to the plane of basin opening 132. This canallow articulated body 116 to move cleaning head 124 outwardly (e.g.radially outwardly) from articulated body 116 into contact with insidesurfaces 108 of basin 112.

Referring to FIGS. 3-5, robotic cleaning apparatus 100 may include oneor more actuators 136 that, when activated, collectively act to movecleaning head 124 relative to dirty object 104 into contact withsurfaces of dirty object 104. For example, the actuator(s) 136 may formpart of articulated body 116 as shown. Robotic cleaning apparatus 100may also include a controller 140 that is communicatively coupled toactuator(s) 136 to send control signals that activate actuator(s) 136automatically to perform a cleaning operation.

Actuator(s) 136 may act to impart any movement upon cleaning head 124.For example, each actuator 136 may act to rotate cleaning head 124,translate cleaning head 124, or move cleaning head 124 in more complexpatterns involving both rotation and translation in one or moredirections. In some embodiments, actuator(s) 136 may be operable torotate cleaning head 124 about first and second axes 144 ₁ and 144 ₂,and translate cleaning head about a radial axis 144 ₃. This may beachieved by any number of actuators 136.

Still referring to FIGS. 3-5, articulated body 116 may include a firstactuator 136 ₁ that acts to rotate cleaning head 124 about a first axis144 ₁, a second actuator 136 ₂ that acts to rotate cleaning head 124about a second axis 144 ₂, and a third actuator 136 ₃ that acts totranslate cleaning head 124 about an extension axis 144 ₃. First andsecond axes 144 ₁ and 144 ₂ can be any axes that allow cleaning head 124to be repositioned relative to dirty object 104. As shown, first axis144 ₁ is non-parallel to second axis 144 ₂, and first and second axes144 ₁ and 144 ₂ are not co-extensive with extension axis 144 ₃. Thisallows extension axis 144 ₃ to be reoriented by rotating cleaning head124 about first and second axes 144 ₁ and 144 ₂. As shown, firstactuator 136 ₁ may be a yaw actuator that rotates cleaning head about ayaw axis 144 ₁, and second actuator 136 ₂ may be a pitch actuator thatrotates cleaning head about a pitch axis 144 ₂. Third actuator 136 ₃ maybe a radial actuator that translates cleaning head 124 along a radialaxis 144 ₃.

Referring to FIG. 5, actuator(s) 136 can be any device that acts toimpart movement upon cleaning head 124 in response to control signals(e.g. electrical signals) from controller 140. For example, actuator(s)136 may include servos as shown, DC or AC motors, fluid pistoncylinders, or another type of actuator. In the illustrated example,articulated body 116 includes a first portion 148 rotatably connectedabout first axis 144 ₁ to a second portion 152, and a third portion 156rotatably connected about second axis 144 ₂ to second portion 152.

As shown, first actuator 136 ₁ may be mounted to first and second bodyportions 148 and 152 so that first actuator 136 ₁ can be activated toimpart rotation of second body portion 152 relative to first bodyportion 148 about first axis 144 ₁. Similarly, second actuator 136 ₂ maybe connected to second and third body portions 152 and 156 so thatsecond actuator 136 ₂ can be activated to impart rotation of third bodyportion 156 relative to second body portion 152 about second axis 144 ₂.

Referring to FIG. 6, third articulated body portion 156 is shown inaccordance with an embodiment. As shown, third articulated body portion156 includes an extension shaft 160, and an actuator 136 ₃. Extensionshaft 160 has a distal end 164 to which cleaning head 124 (FIG. 3) ismounted in use. Extension shaft 160 is movable between the retractedposition shown, through an intermediate position (FIG. 7), to anextended position (FIG. 8) by operation of the actuator 136 ₃.

Returning to FIG. 6, actuator 136 ₃ may be a rotary-type actuator, suchas a servo, and drivingly connected to extension shaft 160 indirectly bya rotary to linear movement linkage 168. Linkage 168 can be any linkagethat can convert rotary movement by rotary actuator 136 ₃ into linearmovement of extension shaft 160. This allows actuator 136 ₃ to driveextension shaft 160 to move between the retracted position shown, and anextended position (FIG. 8). As seen in FIGS. 6-8, the illustratedexample includes a linkage 168 including a drive arm 172 and a slottedarm 176. As shown, drive arm 172 has a proximal portion 180 connected toactuator 136 ₃, and a distal portion 184 constrained to slot 188 ofslotted arm 176. Slotted arm 176 is connected to extension shaft 160 andslot 188 extends transverse (e.g. perpendicular) to extension axis 144₃. As drive arm 172 is rotated about proximal portion 180, distalportion 184 moves along slot 188 and drives slotted arm 176 andextension shaft 160 to move along extension axis 144 ₃.

Reference is now made to FIG. 29-31, which show an extension shaft 160in accordance with another embodiment. As shown, extension shaft 160 maytake the form of a telescoping arm. Telescoping arm 160 may be used inconnection with robotic cleaning apparatus 100 as shown, by itself, orin connection with another type of apparatus (e.g. a photography tripod,display mount, aerial work platform vehicle (aka ‘cherry picker’),lighting fixture, microphone boom, or a crane). Telescoping arm 160 mayinclude a plurality of elongate members 504 that telescope between theretracted position (FIGS. 29-30) and the extended position (FIG. 31).This can provide telescoping arm 160 with greater extensibility, a morecompact size in the retracted position, or both.

Referring to FIGS. 30-31, telescoping arm 160 may be extended andretracted by activating actuator 136 ₃. For example, as described abovein connection with FIG. 6, telescoping arm 160 may be connected toactuator 136 ₃ by a rotary to linear movement linkage 168. As shown,telescoping arm 160 may include an outer elongate member 504 ₁ and aninner elongate member 504 ₂. Each elongate member 504 may extend axially(e.g. along or parallel to extension axis 144 ₃) from a proximal end 508to a distal end 512 (see also, FIGS. 32B and 33B). Outer elongate member504 ₁ may be connected to third body portion 156 (which may be referredto as a ‘base’ when telescoping arm 160 is implemented in otherapparatus) and axially movable (e.g. slideable) relative to third bodyportion 156 between the retracted position (FIG. 30) and extendedposition (FIG. 31). Inner elongate member 504 ₂ may be connected toouter elongate member 504 ₁ and axially movable (e.g. slideable)relative to outer elongate member 504 ₁ (and third body portion 156).

In the retracted position (FIG. 30), at least a first portion 516 ₁ ofouter elongate member 504 ₁ axially overlaps third body portion 156, andat least a first portion 516 ₂ of inner elongate member 504 ₂ axiallyoverlaps outer elongate member 504 ₁. For example, inner elongate member504 ₂ may at least partially nest within outer elongate member 504 ₁ inthe retracted position. In the example shown, outer elongate member 504₁ is tubular with a hollow interior that receives at least first portion516 ₂ in the retracted position. Outer elongate member 504 ₁ may betubular with a cross-sectional shape that is round (e.g. circular),polygonal (e.g. rectangular), or another regular or irregular shape.Alternatively or in addition, outer elongate member 504 ₁ may at leastpartially nest within third body portion 156 in the retracted position.For example, third body portion 156 may include a tubular portion 520with a hollow interior that receives at least first portion 516 ₁ in theretracted position.

In the extended position (FIG. 31), at least first portion 516 ₁ isaxially offset (e.g. axially spaced apart) from third body portion 156,and at least first portion 516 ₂ is axially offset (e.g. axially spacedapart) from outer elongate member 504 ₁. For example, body portion 520,first portion 516 ₁, and first portion 516 ₂ may be axially arranged inseries, in that order, to provide an extended axial length 526 (e.g.along or parallel to third axis 144 ₃) from third body portion distalend 524 to inner elongate member distal end 512 ₂, when in the extendedposition. As shown, cleaning head 124 may be connected to inner elongatemember distal end 512 ₂. Cleaning head 124 may have bristles 192 ₁ thatextend axially outward of elongate member distal end 512 ₂ for cleaningsurfaces positioned axially outward of distal end 512 ₂.

In some embodiments, telescoping arm 160 includes a transmission 528that synchronizes (e.g. drives) the inner and outer elongate members tomove concurrently when the telescoping arm 160 moves between theretracted and extended positions. This contrasts with traditionaltelescoping arm designs that move each arm segment to their respectiveextended position one at a time, in sequence. Thus, transmission 528 canallow telescoping arm 160 to move more quickly between the retracted andextended positions, and reduce the range of motion required fromactuator 136 ₃ to move telescoping arm 160 between the retracted andextended positions.

As an example, transmission 528 may tie the movements of outer and innerelongate members 504 ₁ and 504 ₂, such that as actuator 136 ₃ movesouter elongate member 504 ₁ toward the extended position, transmission528 causes inner elongate member 504 ₂ to concurrently move toward theextended position. In this example, when actuator 136 ₃ completes movingouter elongate member 504 ₁ relative to body portion 156 to the extendedposition, inner elongate member 504 ₂ will too have completed movingrelative to outer elongate member 504 ₁ to the extended position. Inother words, transmission 528 may drive inner elongate member 504 ₂ tomove axially relative to outer elongate member 504 ₁, in response to andconcurrently as outer elongate member 504 ₁ moves axially relative tothird body portion 156.

Reference is now made to FIGS. 32A-32B and 33A-33B. In some embodiments,transmission 528 may include a flexible tie 532. Flexible tie 532 mayinclude one or more lengths of rope, belt, or chain. As shown, outerelongate member 504 ₁ may include a pair of axially spaced apart pulleys536. Flexible tie 532 may be mounted to pulleys 536, rigidly connectedto third body portion 156 at a first connection 540, and rigidlyconnected to inner elongate member 504 ₂ at a different secondconnection 544. Connections 540 and 544 are located at differentpositions along the length of flexible tie 532.

Reference is now made to FIGS. 32B and 33B. In use, as telescoping arm160 moves from the retracted position (FIG. 32B) toward the extendedposition (FIG. 33B), distal pulley 536 ₁ moves with outer elongatemember 504 ₁ axially away from body-tie connection 540, which causesflexible tie 532 to revolve (also referred to as circulate) aroundpulleys 536 (counterclockwise from the vantage of FIGS. 32B and 33B).This results in inner elongate member-tie connection 544 moving axiallyoutward towards distal pulley 536 ₁, whereby inner elongate member 504 ₂(which is joined to connection 544) is moved axially outward relative toouter elongate member 504 ₁ (which is joined to distal pulley 536 ₁). Inthe illustrated example, distal end 512 ₂ of inner elongate member 504 ₂extends axially relative to third body portion 156 at twice the speed ofouter elongate member 504 ₁.

Transmission 528 may retract inner elongate member 504 ₂ in a similarbut opposite fashion. As telescoping arm 160 moves from the extendedposition (FIG. 33B) towards the retracted position (FIG. 32B), proximalpulley 536 ₂ moves with outer elongate member 504 ₁ axially away frombody-tie connection 540, which causes flexible tie 532 to revolve aroundpulleys 536 (clockwise from the vantage of FIGS. 32B and 33B). Thisresults in inner elongate member-tie connection 544 moving axiallyinward towards proximal pulley 536 ₂, whereby inner elongate member 504₂ (which is joined to connection 544) is moved axially inward relativeto outer elongate member 504 ₁ (which is joined to proximal pulley 536₂). In the illustrated example, distal end 512 ₂ of inner elongatemember 504 ₂ retracts axially relatively to third body portion 156 attwice the speed of outer elongate member 504 ₁.

In the example shown, flexible tie 532 forms an endless loop and isjoined to each of third body portion 156 and inner elongate member 504 ₂at a single position (connections 540 and 544). In other embodiments,flexible tie 532 may have a length which extends between distinct,spaced apart ends. For example, the two ends of flexible tie 532 may bejoined to third body portion 156 or to inner elongate member 504 ₁, atone position or at two spaced apart positions. Alternatively, flexibletie 532 may include two separated lengths (e.g. of rope, cable, orchain), each having their own spaced apart ends. In this case, eachlength of flexible tie 532 may be mounted to a different one of pulleys536, with one end connected to third body portion 156 and one endconnected to inner elongate member 504.

Pulleys 536 may take any form suitable to allow flexible tie 532 tocirculate over them as telescoping arm 160 moves between the retractedand extended positions. For example, pulleys 536 may include rotatingwheels over which flexible tie 532 can roll, or stationary posts overwhich flexible tie 532 can slide.

Referring to FIGS. 9-11, robotic cleaning apparatus can include anycleaning head 124 suitable for cleaning surfaces of a dirty object.Cleaning head 124 includes contact-type cleaning members 192 which cleansurfaces by making physical contact with those surfaces. For example,cleaning head 124 may include bristles 192 ₁, cleaning pads 192 ₂ and192 ₃ (e.g. cloth or sponge), loose cloth, or mop strands, which cleanby frictionally engagement with a dirty surface.

As shown, cleaning head 124 may include a cleaning head base 404 havinga cleaning end 196 from which cleaning members 192 extend, and aconnection end 204. Turning to FIGS. 6 and 9, cleaning head connectionend 204 may be connected to extension shaft distal end 164 so thatcleaning head cleaning end 196 with cleaning members 192 faces outwardlyfrom articulated body 116. This allows extension shaft 160 to beextended to move cleaning members 192 into contact with surfaces to becleaned.

Cleaning head connection end 204 may be connected to extension shaftdistal end 164 in any manner. For example, cleaning head connection end204 may be permanently or removably connected to extension shaft distalend 164. In the illustrated example, cleaning head connection end 204and extension shaft distal end 164 include a connector 208 that providesa releasable connection. Connector 208 can be any device that provides areleasable connection, such as a magnetic device, a latch, bayonettemount, or threads for example. In the illustrated example, connector 208includes mating tubular members 212 ₁ and 212 ₂ that are sized andshaped to nest in one another with a friction fit that retains theconnection until a deliberate user action to disconnect the cleaninghead 124. The removability of cleaning head 124 allows cleaning head 124to be removed for cleaning, repair, or replacement as required.

Returning to FIG. 1, articulated body 116 may include a cleaning fluidreservoir 216, and a pump 220 in some embodiments. Cleaning fluidreservoir 216 may provide storage for a volume of cleaning fluid (e.g.water or soap) that may be selectively dispensed by operation of pump220 in response to control signals from controller 140. As shown,cleaning fluid reservoir 216 may include a fill inlet 224 that may beclosed by a removable cap 228. In use, the user may remove cap 228, pourcleaning fluid into fluid reservoir 216 through the opened fill inlet224, and then replace cap 228 to reclose fill inlet 224. FIG. 22 showsanother embodiment of robotic cleaning apparatus 100. As shown, pump 220may be positioned within articulated body 116. For example, pump 220 maybe positioned within third body portion 156 as shown. Alternatively,pump 220 may be positioned within or attached to first or second bodyportions 148 or 152. As shown, pump 220 includes a motor 412 that whenactivated drives pump 220 to move cleaning fluid from cleaning fluidreservoir 216 to a fluid outlet.

Referring to FIGS. 1 and 22, pump 220 is fluidly connected to cleaningfluid reservoir 216. Pump 220 can be any device that can draw cleaningfluid from cleaning fluid reservoir 216, and urge that cleaning fluid todispense from a fluid outlet. The fluid outlet can be positionedanywhere on robotic cleaning apparatus 100 suitable for spraying thecleaning fluid onto surfaces to be cleaned. FIG. 22 shows an example inwhich third body portion 156 includes pump 220 and second body portionincludes cleaning fluid reservoir 216. As shown, an intake conduit 416may fluidly connect pump 220 to cleaning fluid reservoir 216. As shown,intake conduit 416 may have an upstream end 420 positioned withincleaning fluid reservoir 216 and a downstream end 424 connected to pumpfluid inlet 428. A fluid outlet conduit 232 may fluidly connect pump 220to a fluid outlet (e.g. having a nozzle oriented to spray onto surfacesof the dirty object). As shown, fluid outlet conduit 232 may have anupstream end 436 connected to pump fluid outlet 432, and a downstreamend 440 proximate cleaning head 124.

FIG. 6 shows an example in which a pump 220 is mounted to extensionshaft distal end 164 and a fluid outlet conduit 232 is positioned tointerface with cleaning head 124 (FIG. 9). As shown, fluid outletconduit 232 may be positioned within connector 208 to interface withcleaning head 124 when cleaning head 124 is connected to extension shaft160. Turning to FIG. 11, an exemplary cleaning head 124 is shownincluding a fluid outlet nozzle 236 positioned to receive fluid fromfluid outlet conduit 232 and spray cleaning fluid outwardly fromcleaning head cleaning end 196. This can allow cleaning head 124 todispense cleaning fluid onto the surfaces that cleaning head 124 facesor is moved into contact with (e.g. during, before, and/or afterbrushing the surface).

Reference is now made to FIGS. 29 and 34-36, which show a cleaning head124 in accordance with another embodiment. Like part numbers refer tolike parts in the previous figures. As shown, cleaning head 124 mayinclude bristles 192 ₁, cleaning pad 192 ₂, and bristles 192 ₃.

In some embodiments, one or more (or all) of cleaning members 192 mayextend axially outward of cleaning end 196 away from articulated body116. In the example shown, bristles 192 ₁ face axially outward away fromcleaning end 196 and articulated body 116. This allows bristles 192 ₁ toabrasively contact dirty surfaces that are aligned axially outward ofarticulated body 116.

In some embodiments, one or more (or all) of cleaning members 192 may beoriented to face (e.g. provide a cleaning surface facing) transverse tothird axis 144 ₃. This can allow those cleaning members 192 to makecleaning contact with dirty surfaces that do not align axially outwardof articulated body 116. In the illustrated example, cleaning pad 192 ₂and bristles 192 ₃ face in opposite directions perpendicularly to thirdaxis 144 ₃. In the illustrated example, when third axis 144 ₃ ishorizontal, cleaning pad 192 ₂ faces upwardly, and bristles 192 ₃ facedownwardly. As discussed below, this allows cleaning pad 192 ₂ to cleana lower surface of a toilet seat for example.

Alternatively, one or both of cleaning pad 192 ₂ and bristles 192 ₃ mayface transversely to third axis 144 ₃ at a non-perpendicular angle (e.g.20-70 degrees) to third axis 144 ₃. In some embodiments, cleaningmembers 192 ₂ and 192 ₃ may both face transversely to third axis 144 ₃,but not in opposite directions.

Reference is now made to FIG. 37. In some embodiments, one or more (orall) of cleaning members 192 is removably connected to cleaning head124. This allows the cleaning member 192 to be removed for disposal,cleaning, or repair. As shown, cleaning head 124 may include a base 548that provides a removable connection for a cleaning member 192. In theillustrated example, cleaning pad 192 ₂ is removably connected tocleaning head base 548. For example, cleaning pad 192 ₂ may be a singleor limited-use disposable pad that is frequently disposed and replaced.In some embodiments, cleaning pad 192 ₂ includes a consumable material(e.g. melamine foam) that dissolves or wears away as it is used to cleandirty surfaces.

A cleaning member 192 may be removably connected to cleaning head base548 in any manner. For example, a cleaning member 192 may be connectedby one or more of a removable fastener (e.g. screw or bolt), clip,press-fit, latch, hook-and-loop (e.g. Velcro™), or magnets. In theillustrated example, cleaning head base 548 has a slot 552 thatremovably receives a lower end 556 of cleaning pad 192 ₂.

In some embodiments, all cleaning members 192 are removably connected tocleaning head 124. This can allow cleaning head 124 to be customizablewith different cleaning members 192 that are optimal for the surfaces tobe cleaned.

In other embodiments, all cleaning members 192 are non-removably (i.e.permanently) connected to cleaning head 124. This can make cleaning head124 more robust (e.g. prevent inadvertent disconnection of cleaningmembers 192), and reduce the cost of cleaning head 124 to the extentthat removable connections are not required for the cleaning members192.

Referring to FIG. 3, articulated body 116 can be mounted in any mannerthat allows articulated body 116 to move cleaning head 124 into contactwith surfaces to be cleaned. For example, articulated body 116 may befastened to the dirty object 104 or an adjacent object (e.g. wall orfloor) by a mount 120, or self-supported on the dirty object 104 oradjacent object (e.g. free-standing). In the illustrated embodiment,articulated body 116 is releasably connected to a mount 120 secured tothe dirty object 104 by way of a rigid arm 240. Rigid arm 240 may have aproximal end 244 connected to the mount 120, and a distal end 248connected to articulated body 116. One or both of proximal and distalends 244 and 248 may be removably connected to the mount 120 orarticulated body respectively. This can allow articulated body 116 to beselectively connected to the dirty object 104 to execute a cleaningprogram, and afterwards disconnected and removed (e.g. to storage or toclean another dirty object 104).

Still referring to FIG. 3, rigid arm proximal end 244 is shown includinga connector 252 in accordance with an embodiment. As shown, mount 120may include a recess (e.g. slot) 256 that receives connector 252. Whenreceived in mount recess 256, connector 252 may be movable between anengaged position in which withdrawal of connector 252 from mount recess256 is inhibited, and a disengaged position in which connector 252 isfree to withdraw from mount recess 256.

Turning to FIG. 12, connector 252 may include a latch 260 that in theengaged position latches to an engagement portion 262 (FIG. 3, e.g.post) within mount recess 256 (FIG. 3). As shown, robotic cleaningapparatus 100 may include a user-operable control 264 that whenactivated acts to disengage connector 252. User-operable control 264 maybe any user-operable device that can be mechanically or electricallyconnected to connector 252 and user-operated to move connector 252 tothe disengaged position. For example, user-operable control 264 may be aslider as shown, a switch, button, or lever. User-operable control 264may be positioned anywhere on robotic cleaning apparatus 100. In theillustrated example, user-operable control 264 is positioned at an upperend 266 of rigid arm 240. As shown, user-operable control 264 may bemechanically connected to connector 252 by way of a Bowden assembly 268.Bowden assembly 268 may include a cable 272 which extends fromuser-operable control 264 through a Bowden tube 276 to connector 252.

FIG. 13 shows user-operable control 264 in a first position andconnector 252 in a disengaged position, and FIG. 14 shows user-operablecontrol 264 moved to a second position, which pulls on cable 272, andthereby draws connector 252 to the disengaged position. As shown in FIG.12, user-operable control 264 may have a bias 280 (e.g. spring) thatbiases user-operable control 264 to the first position, and connector252 may include a bias 284 (e.g. spring) which biases connector 252 tothe engaged position.

Reference is now made to FIG. 15, which shows a schematic illustrationof controller 140 in accordance with an embodiment. As shown, controller140 may include (hardware) processor 288 and memory 292 that arecommunicatively coupled to actuators 136, pump 220, sensor(s) 296, anduser-interface member(s) 304. Processor 288 may be any device that cansend control signals, wirelessly or by wire, that activate actuators 136(and pump 220 if present), in accordance with instructions (e.g. acleaning program) stored in memory 292.

In some embodiments, execution of instructions from memory 292 relies inpart on user inputs from user-interface member(s) 304 and/or informationfrom sensor(s) 296. As seen in FIG. 3, user-interface member(s) 304 mayinclude a display 308 (e.g. electronic display), user input controls 314(e.g. buttons), a speaker, and a microphone for example. Returning toFIG. 15, controller 140 may include a communications device 312 thatallows for one or both of wired communication (e.g. by USB) orwirelessly communication (e.g. by 802.11x, Bluetooth, or infrared). Insome embodiments, a user may send instructions to controller 140 from anexternal device (e.g. computer or smartphone) by wire or wirelessthrough communications device 312.

Still referring to FIG. 15, controller 140 may be electrically connectedto a power source 316, such as an energy storage member 320 (e.g.batteries, FIG. 4) or external power (e.g. mains power). In someembodiments, controller 140 has a recharging circuit 322 to allow aconnected energy storage member 320 to be recharged from a connectedexternal power source.

Referring to FIG. 4, controller 140 may be positioned anywhere onrobotic cleaning apparatus 100. For example, controller 140 may bepositioned within articulated body 116. In the illustrated example,controller 140 is positioned within first articulated body portion 148,and enclosed within a first portion housing 324.

In order to avoid repetitious reference to FIG. 15, the reader isdirected to refer to FIG. 15 in connection with any mention hereafter ofcontroller 140 or components thereof.

Reference is now made to FIGS. 23A-23B. In some embodiments, roboticcleaning apparatus 100 may be configured to inhibit cleaning operationswhen articulated body 116 is not secured to mount 120. This may mitigatedamage to robotic cleaning apparatus 100 and injury to users frominadvertent activation of robotic cleaning apparatus 100. Controller 140may be configured to detect when there is and is not a connectionbetween articulated body 116 and mount 120. When a connection isdetermined (e.g. when a connection is detected or when a disconnectionis not detected), then controller 140 may permit robotic cleaningapparatus 100 to activate (e.g. permit actuators 136 (FIG. 5) to beactivated according to a cleaning program). When a disconnection isdetermined (e.g. when a disconnection is detected or when a connectionis not detected), then controller 140 may inhibit robotic cleaningapparatus 100 from activating (e.g. inhibit actuators 136 (FIG. 5) to beactivated to execute a cleaning program).

Robotic cleaning apparatus 100 may determine a connection betweenarticulated body 116 and mount 120 in any manner. For example, cleaningapparatus 100 may include a sensor 296 ₁, which is configured to sense aconnection between articulated body 116 and mount 120, and which iscommunicatively coupled to controller 140. Controller 140 may determinewhether articulated body 116 and mount 120 are connected based onsignals received from sensor 296 ₁. In the illustrated embodiment,sensor 296 ₁ is associated with (e.g. connected to or embedded within)connector 252. Sensor 296 ₁ may be any device that can send a signal tocontroller 140 in response to one or both of a connection ordisconnection of connector 252 to mount 120. For example, sensor 296 ₁may include a switch that is moved upon connecting and/or disconnectingconnector 252 to mount 120, an optical sensor, or a magnetic sensor. Asshown, mount 120 may include a magnet or magnetically attractableelement 444 that is sensed by magnetic sensor 296 ₁ when magnetic sensor296 ₁ moves within a proximity of element 444, which is indicative ofconnector 252 being connected to mount 120.

Reference is now made to FIGS. 24-26. In some embodiments, a roboticcleaning system 448 may include robotic cleaning apparatus 100 and acharging station 452. Charging station 452 may provide for storage ofrobotic cleaning apparatus 100 and an electric connection to mains powerfor recharging energy storage member 320 (FIG. 15). As shown, chargingstation 452 may include a recess 456 (also referred to as a concavity orreceptacle 456) sized and shaped to seat (i.e. receive at least aportion of) robotic cleaning apparatus 100. In the illustrated example,a second recess 460 (also referred to as a collection receptacle or pan456) is positioned to underlie (i.e. align vertically below) cleaninghead 124 when robotic cleaning apparatus 100 is seated in recess 456.This may permit pan 456 to collect residual cleaning fluid which maydrip from cleaning head 124. As shown, pan 456 may define a collectionvolume 464 that is separated from seating volume 468 (e.g. by a wall472) so that cleaning fluid which collects in pan 456 does not run intoseating volume 468.

Still referring to FIGS. 24-26, charging station 452 may make anelectrical connection with robotic cleaning apparatus 100 when roboticcleaning apparatus 100 is connected (also referred to as seated ordocked) to charging station 452. For example, charging station 452 mayform an inductive or direct electrical connection. This may permitcharging station 452 to deliver power to robotic cleaning apparatus(e.g. via a mains electrical connector 484) to recharge energy storagemember 320 (FIG. 15). As exemplified, charging station 452 may includeone or more electrical contacts 476 that mate with one or moreelectrical contacts 480 of robotic cleaning apparatus 100 when apparatus100 is docked to charging station 452. Electrical contacts 476 and 480may be provided anywhere on charging station 452 and robotic cleaningapparatus 100, which align when apparatus 100 is docked to chargingstation 452. In the illustrated example, electrical contacts 476 areprovided atop a rear wall 488 of charging station 452, and electricalcontacts 480 are provided below rigid arm 240.

Referring to FIG. 2, surfaces 108 to be cleaned of dirty object 104 mayinclude one or more segments 328. Where surfaces 108 include a pluralityof segments 328, robotic cleaning apparatus 100 may clean the segmentsin sequence, according to a cleaning program executed by controller 140.The illustrated example depicts the cleaning of inside surfaces 108 of abasin, namely a toilet bowl. In this example, inside surfaces 108 mayinclude a plurality of segments 328. Segments 328 may be sized andshaped according to the dimensions of cleaning head 124, so thatcleaning head 124 can clean the entirety of each segment 328 in sequenceaccording to a cleaning path.

In the example shown, each segment 328 may be annular portions of insidesurfaces 108. In length, segments 328 may form any portion of arevolution around toilet bowl 112. For example, each segment 328 mayextend in length between 180 and 360 degrees. In operation, cleaninghead 124 may clean the surface segment 328 by making brushing contactalong the complete length of the surface segment 328.

Still referring to FIG. 2, in response to user-input to commencecleaning, controller 140 may automatically (i.e. without further useraction) execute a cleaning program. FIG. 2 shows robotic cleaningapparatus 100 in a “home” position with cleaning head 124 in a retractedposition. Turning to FIG. 16, the cleaning program may includecontroller 140 directing actuators 136 (FIG. 5) to move cleaning head124 into contact with a first segment 328 ₁. This may include activatingactuator(s) 136 to align cleaning head 124 with the first segment 328 ₁and extend cleaning head 124 outwardly into contact with the firstsegment 328 ₁. In the illustrated example, controller 140 has directedpitch actuator 136 ₂ to rotate cleaning head 124 downwards apredetermined angle (e.g. about 20 degrees) into alignment with firstsegment 328 ₁ and directed extension actuator 136 ₃ to translatecleaning head 124 outwards into contact with first segment 328 ₁.

Referring to FIGS. 15-16, in some embodiments, robotic cleaningapparatus 100 includes a contact sensor 332 that is communicativelycoupled to processor 288. Contact sensor 332 can include any one or moredevices that can collectively provide sensory information to controller140 from which controller 140 can infer (e.g. determine) contact betweencleaning head 124 and a dirty surface 108. For example, contact sensor332 may include one or more of a bumper, infrared sensor, accelerometer,or force sensor. Controller 140 may establish and/or maintain contactbetween cleaning head 124 and a segment 328 based on readings fromcontact sensor 332. For example, controller 140 may activate actuator136 ₃ to move cleaning head 124 radially until controller 140 determinesfrom contact sensor 332 that cleaning head 124 exerts a force on surface108 that is within a predetermined range of force values. Thepredetermined range of force values may be selected based on cleaningcharacteristics of cleaning head 124. For example, insufficient forcemay not provide sufficient frictional contact, and too great of forcemay splay bristles reducing their cleaning efficiency. Use of contactsensor 332 may allow robotic cleaning apparatus 100 to accommodate awide range of different dirty objects 104, without the apparatus 100 orthe manufacturer having prior knowledge of the object surface profiles.For example, robotic cleaning apparatus 100 may be able to clean toiletbowls of many different makes and models, including future models.

In alternative embodiments, robotic cleaning apparatus 100 may notinclude a contact sensor 332. For example, robotic cleaning apparatus100 may be integrated into or purpose built to clean a specific dirtyobject 104, whereby controller 140 is preconfigured with cleaning pathsthat correspond to the surfaces 108 of that object 104. In someembodiments, robotic cleaning apparatus 100 may be user-configurablewith cleaning instructions (e.g. by transmitting instructions wirelesslyor by wire to controller 140) specific to one or more particular dirtyobjects 104.

Turning to FIG. 17, once contact is made between cleaning head 124 andsegment 328 ₁, controller 140 directs actuator(s) 136 (FIG. 5) to movecleaning head 124 along a cleaning path in contact with a length 336 ofthe segment 328 ₁. FIG. 17 shows cleaning head 124 in three positionsY1-Y3 along length 336 of segment 328 ₁. As shown, controller 140directs actuator(s) 136 to maintain contact between cleaning head 124and segment 328 ₁ as cleaning head 124 moves along the cleaning path. Inthis example, controller 140 holds pitch actuator 136 ₂ stationary tomaintain the pitch angle 342 (FIG. 16), and activates yaw actuator 136 ₁to rotate cleaning head 124 to rotate about yaw axis 144 ₁ (FIG. 16).Contemporaneously, controller 140 activates actuator 136 ₃ to vary theradial extension of cleaning head 124 to maintain contact betweencleaning head 124 and segment 328 ₁.

The cleaning path along segment 328 ₁ may include a single pass acrosssegment length 336, or several laps across segment length 336. Forexample, cleaning path may include several revolutions around toiletbowl 112. Further, the cleaning path may have a continuous directionfrom start to finish or may include one or more direction reversalsbetween the start and finish to provide a scrubbing effect for greatercleaning efficiency. Controller 140 may also direct pump 220 to spraysegment 328 ₁ before, during, or after brushing segment 328 ₁ withcleaning head 124.

Reference is now made to FIG. 18. If dirty surface 108 includes aplurality of segments 328, then after cleaning a first segment 328 ₁,and in accordance with a cleaning program in memory 292, controller 140may direct actuator(s) 136 (FIG. 5) to move cleaning head 124 intocontact with a subsequent segment 328 ₂ or 328 ₃, and then clean thesubsequent segment 328 ₂ or 328 ₃ by moving along a cleaning pathencompassing the respective segment 328 ₂ or 328 ₃ while maintainingcontact between the cleaning head 124 and the segment, substantially asdescribed above with respect to first segment 328 ₁. FIG. 18 showscleaning head in two alternative positions P2 and P3, in which cleaninghead has been moved into contact with segments 328 ₂ and 328 ₃respectively. In the example shown, moving to a subsequent segment 328 ₂or 328 ₃ may include actuating pitch actuator 136 ₂ to rotate cleaninghead 124 about pitch axis 144 ₂ (FIG. 5, e.g. 0 to 60 degrees exclusive)into alignment with the subsequent segment 328 ₂ or 328 ₃. It will beappreciated that surface 108 may include any number of segments 328(e.g. 1-50 segments), and that segments 328 may partially overlap.

Reference is now made to FIG. 28. In some embodiments, one or more (orall) of segments 328 may be vertically oriented. As shown, movingcleaning head 124 along a vertically oriented segment 328 may includerotating cleaning head 124 about pitch axis 144 ₂ (FIG. 5). This mayprovide an efficient cleaning routine for certain surfaces 108, such asthose proximate to (e.g. abutting) a toilet outlet 496 for example. Inthe illustrated example, controller 140 may, in response to user-inputto commence cleaning, execute a cleaning program that includesactivating one or more of actuator(s) 136 (FIG. 5) to move cleaning head124 into contact the vertically aligned segment 328. Next, thecontroller 140 may, in accordance with the cleaning program, movecleaning head 124 along a cleaning path in contact with the length 336of the segment 328. For example, controller 140 may actuate pitchactuator 136 ₂ (FIG. 5) to move cleaning head 124 up or down (or both)along the length 336 of segment 328 while modulating extension actuator136 ₃ (FIG. 5) to maintain contact between cleaning head 124 and surfacesegment 328. FIG. 28 shows cleaning head 124 at two positions: positionP1 at an upper end of surface segment 328, and position P2 at a lowerend of surface segment 328.

The cleaning path along segment 328 may include a single pass acrosssegment length 336, or several passes across segment length 336.Further, the cleaning path may have a continuous direction from start tofinish (e.g. up or down) or may include one or more direction reversalsbetween the start and finish to provide a scrubbing effect for greatercleaning efficiency. For example, controller 140 may, in accordance withthe cleaning program, direct cleaning head 124 to reverse direction(e.g. between rotating cleaning head 124 upwardly and downwardly) at oneor several intermediate positions between the upper and lower ends ofsegment 328 to provide the scrubbing effect.

After cleaning a surface segment 328, controller 140 may, in accordancewith the cleaning program direct actuator(s) 136 (FIG. 5) to rotatecleaning head 124 into contact with another vertically aligned segment328. For example, controller 140 may direct yaw actuator 136 ₁ (FIG. 5)to rotate cleaning head 124 about yaw axis 144 ₁ (e.g. by more than 0and less than 30 degrees) into contact with another vertically alignedsegment 328, and clean the segment 328 as described above. This mayrepeat until all of the vertically aligned segments 328 within arevolution have been cleaned. For example, this may repeat untilcleaning head 124 has rotated about yaw axis 144 ₁ by 360 degrees ormore. Depending on the shape of basin inside surfaces 108, this mayrepeat until cleaning head has rotated about yaw axis 144 ₁ by less than360 (e.g. has rotated about yaw axis 144 ₁ by 90 to 270 degrees).

Referring to FIG. 18, in the context of a basin, such as toilet bowl112, robotic cleaning apparatus 100 may be operable to clean a rim 340that borders the basin opening 132. Rim 340 may form part of one or moresegments 328 that are cleaned as part of a cleaning program executed bycontroller 140. In the illustrated example, rim 340 is included insegment 328 ₃. Turning to FIG. 19, cleaning head 124 may be configuredto clean multiple faces of rim 340 simultaneously. As shown, whencleaning head 124 is moved into contact with rim 340, contact-typecleaning members 192 may make brushing contact with both rim innersurface 344 and rim upper surface 348. For example, cleaning head 124may include a contact-type cleaning member 192 ₁ oriented to act onsurfaces radially outwardly of the cleaning member 192 ₁ (e.g.bristles), and a contact-type cleaning member 192 ₂ oriented to act onsurfaces below the cleaning member 192 ₂ (e.g. cleaning pad). In theillustrated example, cleaning member 192 ₂ has a lower cleaning surface352 positioned above at least some of cleaning member 192 ₁ (i.e. abovesome bristles) so that lower cleaning surface 352 can engage rim uppersurface 348 simultaneously as cleaning member 192 ₁ engages rim innersurface 344.

Reference is now made to FIG. 20. In the context of cleaning a toilet104, robotic cleaning apparatus 100 may be operable to clean a toiletseat 356. For example, toilet seat 356 may form part of one or moresegments 328 that are cleaned as part of a cleaning program executed bycontroller 140. As with cleaning other segments 328, cleaning toiletseat 356 may include controller 140 directing actuator(s) 136 (FIG. 5)to move cleaning head 124 into contact with the segment 3284 thatincludes toilet seat 356, and to move cleaning head 124 along a cleaningpath encompassing the segment 328 ₄ while maintaining contact betweencleaning head 124 and the segment 328 ₄.

In some embodiments, cleaning head 124 may be configured to cleanmultiple faces of toilet seat 356 simultaneously. As shown, whencleaning head 124 is moved into contact with toilet seat 356,contact-type cleaning members 192 may make brushing contact with seatlower surface 360, seat inner surface 364, and seat upper surface 368.For example, referring additionally to FIG. 11, cleaning head 124 mayinclude a contact-type cleaning member 192 ₁ oriented to act on surfacesradially outwardly of the cleaning member 192 ₁ (e.g. bristles), acontact-type cleaning member 192 ₂ oriented to act on surfaces above thecleaning member 192 ₂ (e.g. cleaning pad), and a contact-type cleaningmember 192 ₃ oriented to act on surfaces below the cleaning member 192 ₃(e.g. cleaning pad,). In the illustrated example, cleaning member 192 ₂has an upper cleaning surface 372 positioned below at least some ofcleaning member 192 ₁ (i.e. below some bristles), and cleaning member192 ₃ has a lower cleaning surface 376 positioned above and spaced apartfrom cleaning member 192 ₂, so that upper cleaning surface 372 canengage seat lower surface 360, simultaneously as cleaning member 192 ₁engages seat inner surface 364, and lower cleaning surface 376 engagesseat upper surface 368.

Referring to FIGS. 9-10, in some embodiments, one or both of cleaningmembers 192 ₂ and 192 ₃ may be movably connected to cleaning head base404. For example, one or both of cleaning members 192 ₂ and 192 ₃ may bepivotably rotatable relative to the other. This may allow cleaningmembers 192 ₂ and 192 ₃ to accommodate differently sized and shapedtoilet seats between them. In the illustrated embodiment, cleaningmember 192 ₃ is rotatable relative to cleaning member 192 ₃ about apivot axis 396. As shown, pivot axis 396 may be transverse (e.g.substantially perpendicular) to extension axis 144 ₃. Cleaning member192 ₃ may be connected to cleaning head base 404 in any manner thatallows cleaning member 192 ₃ to rotate about pivot axis 396. Forexample, cleaning member 192 ₃ may be connected to cleaning head base404 by a hinge 408 as shown.

Referring to FIG. 20, robotic cleaning apparatus 100 may support toiletseat 356 in a tilted position (e.g. 3 to 45 degrees from horizontal) sothat toilet seat front end 380 is raised from rim front end 384. Thismay provide cleaning head 124 with better clearance to engage seat lowersurface 360. As shown, robotic cleaning apparatus 100 may include a seatsupport 388 that engages seat lower surface 360 to hold toilet seat 356in the tilted position. In use, a user may raise toilet seat 356, attachrobotic cleaning apparatus 100, and then lower toilet seat onto seatsupport 388 before providing a user instruction to controller 140 toexecute a cleaning program.

Still referring to FIG. 20, robotic cleaning apparatus 100 may include atilt sensor 392 communicatively coupled to controller 140. Tilt sensor392 may include any one or more sensory devices that can providecontroller 140 with information to infer (e.g. determine) an angularorientation of toilet seat 356. For example, tilt sensor 392 may includea rotary encoder 397 as shown, an accelerometer, and/or a proximitysensor 394 (FIG. 4, e.g. infrared rangefinder). With the angularorientation of toilet seat 356, controller 140 can determine a cleaningpath that encompasses the segment 328 ₄ including the toilet seat 356.In the illustrated example, moving cleaning head 124 along a length ofsegment 328 ₄ may include activating both of yaw and pitch actuators 136₁ and 136 ₂ (FIG. 5) to maintain alignment between cleaning head 124 andthe tilted toilet seat 356, and activating extension actuator 136 ₃(FIG. 5) to maintain contact with the toilet seat 356.

In the illustrated example, toilet seat support 388 includes a pedal 398rotatably connected to tilt sensor 392. In use, pedal 398 rotates abouta horizontal axis to accommodate the angular seat lower surface 360.Tilt sensor 392 may detect the angular orientation of pedal 398, andcommunicate sensory information corresponding to the angular orientationto controller 140.

Reference is now made to FIGS. 39A-B and 40A-B. In some embodiments,robotic cleaning apparatus 100 may not include a tilt sensor. Forexample, controller 140 may execute a seat tilt determination program(e.g. stored in memory 292) that includes directing actuators 136 (FIG.5) to move cleaning head 124 into contact with toilet seat 356 (e.g.seat lower surface 360) and/or rim 340 at several positions, anddetermining the angular orientation of toilet seat 356 based at least inpart on those positions where contact was detected. This can simplifythe hardware design of robotic cleaning apparatus 100 by eliminating thetilt sensor and the means of communication between the tilt sensor andcontroller 140. In turn, this may reduce the cost of manufacturingrobotic cleaning apparatus 100.

In some embodiments, controller 140 may determine the angularorientation of toilet seat 356, such as for example seat lower surface360, by reference to a location T1 on rim 340 and T2 on seat 356 (e.g.seat lower surface 360). In some cases, this determination may rely uponone or more (or all) of the following assumptions: that seat lowersurface 360 is planar, that seat lower surface 360 is in contact with orclose proximity to rim 340 when horizontal (i.e. when seat angle 560 isapproximately 0 degrees from horizontal), that toilet seat 356 has onedegree of freedom which is rotation about seat rotation axis 564, thatseat rotation axis 564 is horizontal, and that the position of seatrotation axis 564 relative to articulated body 116 is known (e.g.according to the design of mount 120). Any one or more (or all) of theseassumptions may be variable and either detected by controller 140 oruser-submitted to controller 140 via user interface members 304 (FIG.15). For example, a user may submit to controller 140 an offset distance(e.g. attributable to seat standoff(s) 568) between seat lower surface360 and rim 340 when toilet seat 356 is in a horizontal position.

Still referring to FIGS. 39A-B and 40 A-B, controller 140 may detectlocations T1 on rim 340 and T2 on seat 356 in any manner. In someembodiments, controller 140 may send control signals to activate one ormore (or all) of actuators 136 (FIG. 5) to move cleaning head 124towards rim 340 or seat 356 until contact with the rim 340 or seat 356(e.g. seat lower surface 360) is detected. Controller 140 may determinecontact in any manner, such as for example when sensor readings from acontact sensor 332 (FIG. 15) are indicative of contact between cleaninghead 124 and toilet 104. The spatial position of locations T1 and T2where cleaning head 124 makes contact with rim 340 and seat 356respectively may be determined by controller 140 based on positioninformation (e.g. directed actuations and/or sensor readings) associatedwith the actuator(s) 136 that controller 140 actuated until contact wasdetected. For example, the spatial position of locations T1 and T2 maybe determined by controller 140 based upon a known or determinablestarting location of cleaning head 124 and the spatial movement ofcleaning head 124 (i.e. produced by actuator(s) 136 (FIG. 5) at thedirection of controller 140) from that starting location to wherecontact at locations T1 and T2 are detected. Alternatively or inaddition, the spatial position of locations T1 and T2 may be determinedby controller 140 based upon sensor readings (e.g. from a rotary orlinear encoder) indicative of the position of actuator(s) 136 whencontact is made at locations T1 and T2.

Controller 140 may identify T1 by directing cleaning head 124 to move inany direction suitable to produce contact between cleaning head 124 andrim 340. For example, controller 140 may direct cleaning head 124 tomove horizontally outwardly into contact with rim 340 as shown. In theillustrated embodiment, controller 140 has extended cleaning head 124into contact with rim front end 384, where toilet seat 356 is fartherfrom rim 340 when tilted upwardly as shown. This may provide a greaterdistance between T1 and T2, which may improve accuracy of the determinedseat angle 560. Still, in alternative embodiments, controller 140 maydirect cleaning head 124 to extend into contact with a more rearwardlylocation on rim 340. This may reduce the distance between T1 and T2,which may reduce the travel time between T1 and T2, and therefore reducethe time to perform the seat angle determination. Furthermore, by usinga position T1 rearward of rim front end 384 (e.g. a position T1 locatedon the rearward half of rim 340), T2 may be more reliably locatedvertically above any position T1, whereby a vertical movement from T1 tomake contact with the seat 356 at T2 has less chance of failing.

Still referring to FIGS. 39A-B and 40 A-B, controller 140 may directcleaning head 124 to move in a first direction 572 until contact is madewith rim 340 at T1, and then direct cleaning head 124 to move from T1 ina second direction 576 until contact is made with toilet seat 356 (e.g.seat lower surface 360) at T2. As shown, second direction 576 may betransverse to (e.g. perpendicular to) first direction 572. In theillustrated embodiment, travel in second direction 576 is substantiallylinear and vertical. In this example, controller 140 may determine seatangle 560 based upon position information including an extensiondistance 580 from cleaning head 124 to axis 144 ₁ at T1, and a heightdifference 584 between T1 and T2.

In other embodiment, the movement path from T1 to T2 may be non-linear(e.g. curved or angled).

In some embodiments, controller 140 directs cleaning head 124 to moveinto contact with one or more additional different pairs T1, T2 ofpositions (e.g. between 2 and 20 pairs of positions) on rim 340 andtoilet seat 356 respectively. For example, each pair of positions may beassociated with a different orientation about yaw axis 144 ₁. Controller140 may determine the angular orientation of toilet seat 356 byreference to many or all of the pairs of positions. This may helpimprove the accuracy of the determined seat angle 560. In a simpleexample, controller 140 may determine a preliminary seat angle based oneach pair of positions T1, T2 individually, and then determine seatangle 560 as an average of the preliminary seat angles.

Referring to FIGS. 39A-B, each of articulated body 116, toilet seat 356when lowered to horizontal, and toilet seat 356 when tilted as shown,may have a reference frame including an origin and one or more axesaccording to the coordinate system (e.g. Cartesian, cylindrical, orspherical). The illustrated example employs a Cartesian coordinatesystem. As shown, articulated body 116 has an origin O_(B) andperpendicular axes X_(B), Y_(B), and Z_(B). In this example, axis Z_(B)is vertical, axes X_(B) and Y_(B) are horizontal, and axes X_(B) andZ_(B) define a plane that bisects toilet 104. Toilet seat 356 is shownhaving an origin O_(S) and perpendicular axes X_(S), Y_(S), and Z_(S),which are parallel to articulated body axes X_(B), Y_(B), and Z_(B).Axes X_(B) and Z_(B) may lie on the same plane as axes X_(S) and Z_(S).Accordingly, a transformation matrix T_(B) ^(S) from the articulatedbody reference frame to the reference frame of toilet seat 356 whenhorizontal may be as follows, in which x_(B), y_(B), z_(B) define theoffset between articulated body origin O_(B) and seat origin O_(S) alongaxes X_(B), Y_(B), and Z_(B) respectively:

$T_{B}^{S} = \begin{bmatrix}1 & 0 & 0 & x_{B} \\0 & 1 & 0 & y_{B} \\0 & 0 & 1 & z_{B} \\0 & 0 & 0 & 1\end{bmatrix}$

As compared to when toilet seat 356 is horizontal, the reference frameof tilted toilet seat 356 is rotated about axis Y_(S) by seat angle 560(denoted as negative θ in equations below). Accordingly, tilted toiletseat 356 has a reference frame including an origin O_(S) and axis Y_(S)in common with toilet seat 356 when horizontal, as well as axes X_(TS)and Z_(TS) unique to tilted toilet seat 356. Here again, axes X_(TS) andZ_(TS) lie on the same plane as axes X_(S) and Z_(S). Accordingly, atransformation matrix T_(S) ^(TS) from the horizontal seat referenceframe to the tilted seat reference frame may be as follows:

$T_{S}^{TS} = \begin{bmatrix}{\cos \mspace{14mu} \theta} & 0 & {{- \sin}\mspace{14mu} \theta} & 0 \\0 & 1 & 0 & 0 \\{\sin \mspace{14mu} \theta} & 0 & {\cos \mspace{14mu} \theta} & 0 \\0 & 0 & 0 & 1\end{bmatrix}$

It follows that a transformation matrix T_(B) ^(TS) from the articulatedbody reference frame to the tilted seat reference frame may bedetermined as follows:

T_(B) ^(TS)=T_(B) ^(S)T_(S) ^(TS)

T _(TS) ^(B)=[T _(B) ^(TS)]⁻¹=[T _(B) ^(TS)]T

After controller 140 determines rotation angle 560, any point on tiltedseat 356 may be transformed to the articulated body reference frame bymultiply the point co-ordinates by transformation matrix T_(TS) ^(B).

Referring to FIG. 39B, in some embodiments controller 140 may determinethe position and angular orientation of tilted toilet seat 356 (e.g.seat lower surface 360) by fitting a plane to several differentpositions where cleaning head 124 contacts toilet seat 356 (e.g. seatlower surface 360). For example, controller 140 may direct cleaning head124 to move into contact with seat lower surface 360 at three or moredifferent positions, and mathematically fit a plane to the three or morepositions, whereby the position (e.g. origin O_(RS) and angularorientation (e.g. seat angle 560) of seat lower surface 360 relative toarticulating body 104 becomes known.

As shown, tilted seat origin O_(RS) may be offset from articulated bodyorigin O_(B) by a vector (x_(B), 0, z_(B)), where x_(B) may be anegative value, and z_(B) may be known based upon the design of mount120. Controller 140 may determine distance x_(B) and seat angle 560 bydirecting cleaning head 124 to move into contact with seat lower surface360 at several (e.g. three or more) different positions, fitting a planeto the determined contact positions, and then solving for x_(B) and seatangle 560.

Controller 140 may direct cleaning head 124 to move into contact withseat lower surface 360 in any suitable manner. For example, controller140 may direct cleaning head 124 to extend outwardly (e.g. by activatingactuator 136 ₃ (FIG. 5)) from different yaw positions about axis 144 ₁to make contact with seat lower surface 360 at several differentpositions. FIGS. 40A, 41, and 42 illustrate an example of cleaning head124 moved into contact with seat lower surface 360 in this manner.

Returning to FIG. 39B, controller 140 may determine the plane of seatlower surface 360 using the determined contact positions in any manner.Each contact position may be described by a coordinate position, such as(x_(i), y_(i), z_(i)) for i=1 to m for m contact positions. Based on thecontact position coordinates, controller 140 may determine parameters A,B, and C in the planar equation z=Ax+By+C that best fit the contactposition coordinates (x_(i), y_(i), z_(i)). For example, parameters A,B, and C may be determined which minimize the sum of squared errorsbetween z_(i) and Ax_(i)+By_(i)+C. An exemplary error function for leastsquares minimization may be defined as:

${E\left( {A,B,C} \right)} = {\sum\limits_{i = 1}^{m}\; \left\lbrack {\left( {{Ax}_{i} + {By}_{i} + C} \right) - z_{i}} \right\rbrack^{2}}$

This error function is non-negative and may graph as a hyperparaboloidwhose vertex occurs when the gradient satisfies ∇E=(0,0,0). This mayprovide a system of three linear equations for A, B, and C which may besolved as follows:

$\left( {0,0,0} \right) = {{\nabla E} = {2{\sum\limits_{i = 1}^{m}\; {\left\lbrack {\left( {{Ax}_{i} + {By}_{i} + C} \right) - z_{i}} \right\rbrack \left( {x_{i},y_{i},1} \right)}}}}$

and therefore:

${\begin{bmatrix}{\sum\limits_{i = 1}^{m}\; x_{i}^{2}} & {\sum\limits_{i = 1}^{m}{x_{i}y_{i}}} & {\sum\limits_{i = 1}^{m}x_{i}} \\{\sum\limits_{i = 1}^{m}{x_{i}y_{i}}} & {\sum\limits_{i = 1}^{m}y_{i}^{2}} & {\sum\limits_{i = 1}^{m}y_{i}} \\{\sum\limits_{i = 1}^{m}x_{i}} & {\sum\limits_{i = 1}^{m}y_{i}} & {\sum\limits_{i = 1}^{m}1}\end{bmatrix}\begin{bmatrix}A \\B \\C\end{bmatrix}} = \begin{bmatrix}{\sum\limits_{i = 1}^{m}{x_{i}z_{i}}} \\{\sum\limits_{i = 1}^{m}{y_{i}z_{i}}} \\{\sum\limits_{i = 1}^{m}z_{i}}\end{bmatrix}$

Reference is now made to FIG. 38, which shows robotic cleaning apparatus100 with the cleaning head 124 of FIGS. 34-36 cleaning toilet seat 356.As shown, upper cleaning pad 192 ₂ may make physical cleaning contactwith toilet seat lower surface 360. In some embodiments, cleaning head124 may be used to clean only the seat lower surface 360, as shown.After cleaning seat lower surface 360, upper cleaning pad 192 ₂ may beremoved, disposed, and replaced with a new cleaning pad 192 ₂ asdescribed above in connection with FIG. 37.

Reference is now made to FIG. 21. In some embodiments, robotic cleaningapparatus 100 maps a cleaning path for a segment 328 (FIG. 16) beforecleaning the segment 328. Mapping a cleaning path may include movingcleaning head 124 into contact with the segment 328 (substantially asdescribed above in connection with cleaning segment 328), recording headposition information in memory 292, moving the cleaning head oneincrement along the segment length 336, adjusting contact between thecleaning head and the segment 328 (e.g. to fall within a predeterminedrange of contact value, such as force values), recording head positioninformation in memory 292, and repeating until the entire segment length336 has been traversed. FIG. 21 shows cleaning head 124 in twoincremental positions Q1 and Q2 along segment length 336. There can beany distance between incremental positions. For example, the distancebetween incremental positions may be between 0 and 20 degrees exclusive.

Referring to FIG. 20, a segment 328 ₄ may include surface(s) of toiletseat 356, such as seat lower surface 360 for example. FIGS. 40A, 41, and42 show cleaning head 124 in three incremental positions along a lengthof segment length 328 ₄.

Returning to FIG. 21, the head position information recorded at eachincrement along the segment length 336 may include informationindicative of the relative position of cleaning head 124. For example,the head position information may include cleaning head co-ordinates, orposition (e.g. angular) values for actuator(s) 136 (FIG. 5).Collectively, the recorded head position information may form the basisof the cleaning path for that segment 328. For example, controller 140may store the recorded head position information as a cleaning path, ordetermine (and optionally store in memory 292) a cleaning path based onthe recorded head position information.

Referring to FIGS. 18 and 20, in some embodiments a cleaning path forcleaning surfaces of toilet seat 356 may be determined by mapping acleaning path for a segment 328 ₃ along rim 340, on the assumption thattoilet seat 356 (e.g. seat lower surface 360) is sized and shaped tooverlay rim 340 when in the horizontal position. After determining seatangle 560 (FIG. 39A), the cleaning path coordinates may then betransformed using, e.g. transformation matrix T_(TS) ^(B) discussedabove to produce a cleaning path that controller 140 can execute forsegment 328 ₄. Controller 140 may store the transformed cleaning pathfor segment 328 ₄ in memory 292.

Returning to FIG. 21, after the cleaning path for a segment 328 has beenmapped, controller 140 may execute a cleaning program, which includesmoving cleaning head along the mapped cleaning path in contact with thesegment 328. Because the cleaning path is predetermined, it may not berequired for controller 140 to repeatedly determine the extension ofcleaning head 124 based on sensory readings of contact sensor 332. As aresult, the movement speed may be increased which may promote greatercleaning efficiency.

Where surfaces 108 include a plurality of segments 328, controller 140may execute a cleaning program to clean a segment 328 after mapping acleaning path for that segment 328 and before mapping a cleaning pathfor a subsequent segment. Alternatively, controller 140 may map cleaningpaths for two or more (or all) segments 328, before executing a cleaningprogram to clean the mapped segments 328 in sequence.

In some embodiments, the cleaning path is remapped prior to cleaning asegment 328 even if a cleaning path for that segment 328 has been mappedon a different occasion. This may reduce memory requirements, and alsothe complexity of cleaning multiple different dirty objects 104. Inother embodiments, the cleaning path(s) mapped in connection with aprevious occasion may be stored for use with future occasions. This mayallow robotic cleaning apparatus 100 to reclean the same dirty object104 on future occasions without having to remap the cleaning path(s). Asa result, robotic cleaning apparatus 100 may benefit from fastermovement speed (and therefore reduced cleaning time and improvedcleaning efficiency), without having to take time to remap the cleaningpath(s).

Still referring to FIG. 21, in some embodiments robotic cleaningapparatus 100 can store cleaning path(s) associated with a plurality ofdifferent dirty objects 104 simultaneously. For example, roboticcleaning apparatus 100 may store cleaning path(s) in memory 292, whichhave been mapped against several toilets 104 within a building (e.g.home or office). Before, during, or after mapping a cleaning path, auser may issue user instructions (e.g. using user interface members 304,or an external device) to controller 140 to associate the cleaning pathwith (i.e. store in memory 292 in association with) a particular dirtyobject (e.g. the dirty object to which robotic cleaning apparatus 100 ismounted). Similarly, before executing a cleaning program on a pre-mappeddirty object 104, a user may issue a user instructions to controller 140to use cleaning path(s) associated with a particular dirty object (e.g.the dirty object to which robotic cleaning apparatus 100 is mounted).For example, the user may use user interface members 304 or an externaldevice, to select the dirty object to clean.

Reference is now made to FIG. 27, which shows a schematic illustrationof cleaning head 124 and an obstacle 492 for clarity of illustration. Insome embodiments, robotic cleaning apparatus 100 may be configured tonavigate around obstacles 492 which cleaning head 124 may encounter.This may mitigate damage to robotic cleaning apparatus 100 (e.g. burningout actuators in an effort to move through the obstacle) and/or damageor injury to the obstacle 492 (e.g. a user's hand or other foreignobject). Controller 140 may store in memory 292 an obstacle navigationroutine (also referred to as an obstacle negotiation routine) that isexecuted to detect and navigate around an obstacle.

Referring to FIGS. 5 and 27, controller 140 may detect an obstacle inany manner. In some embodiments, controller 140 may determine there hasbeen an impact with an obstacle 492 based on positional feedback from anactuator 136 (e.g. actuator 136 ₁ or 136 ₂), which indicates thatcleaning head 124 has significantly slowed or stopped moving despitecontrol signals from controller 140 to the actuator 136 directing theactuator 136 to continue moving. In response to detecting an obstacle492, controller 140 may direct the obstructed actuator 136 to stop ormomentarily reverse, then direct actuator 136 ₃ to retract cleaning head124 by a pre-determined distance (e.g. 10 mm), before again instructingthe obstructed actuator 136 to resume moving in the forward direction.If upon resuming, the obstacle 492 is once again encountered (e.g.because of insufficient retraction to clear the obstacle), thestop/reverse, retract, and resume routine is again repeated. Once theobstacle 492 is cleared, controller 140 may resume the original cleaningor calibration program including extending cleaning head 124 outwardlyto maintain contact with surfaces of the dirty object.

While the above description provides examples of the embodiments, itwill be appreciated that some features and/or functions of the describedembodiments are susceptible to modification without departing from thespirit and principles of operation of the described embodiments.Accordingly, what has been described above has been intended to beillustrative of the invention and non-limiting and it will be understoodby persons skilled in the art that other variants and modifications maybe made without departing from the scope of the invention as defined inthe claims appended hereto. The scope of the claims should not belimited by the preferred embodiments and examples, but should be giventhe broadest interpretation consistent with the description as a whole.

Items

Item 1: A robotic cleaning apparatus for cleaning a dirty object, therobotic cleaning apparatus comprising:

a cleaning head; and

an articulated body coupled to the cleaning head and mountable to thedirty object, the body having one or more actuators that collectivelymove the cleaning head into contact with surfaces of the dirty object,

-   -   the one or more actuators, when activated, collectively rotate        the cleaning head relative to the dirty object about first and        second axes, and translate the cleaning head relative to the        dirty object along an extension axis.

Item 2: The robotic cleaning apparatus of any preceding item, wherein

the first axis is a yaw axis, the second axis is a pitch axis, and

the one or more actuators includes a yaw actuator that rotates thecleaning head about a yaw axis relative to the dirty object, and a pitchactuator that rotates the cleaning head about a pitch axis relative tothe dirty object.

Item 3: The robotic cleaning apparatus of any preceding item, furthercomprising:

a controller communicatively coupled to the one or more actuators tosend control signals that direct the one or more actuators to rotate andtranslate the cleaning head.

Item 4: The robotic cleaning apparatus of any preceding item, furthercomprising:

a contact sensor communicatively coupled to the controller to sendsensor readings to the controller indicative of contact between thecleaning head and the dirty object.

Item 5: The robotic cleaning apparatus of any preceding item, wherein:

in response to a user instruction, the controller sends control signalsto the one or more actuators to execute a cleaning operation in whichthe cleaning head is moved into contact with a surface of the dirtyobject.

Item 6: The robotic cleaning apparatus of any preceding item, furthercomprising:

a mount securable to the dirty object, and

a connector coupled to the body and removably connectable to the mount.

Item 7: The robotic cleaning apparatus of any preceding item, furthercomprising:

a rigid arm having a proximal end and a distal end, the proximal endhaving the connector, and the distal end secured to the body.

Item 8: The robotic cleaning apparatus of any preceding item, wherein:

the cleaning head comprises a plurality of bristles extending outwardlyaway from the body.

Item 9: The robotic cleaning apparatus of any preceding item, wherein:

the cleaning head comprises an upper foam brush spaced apart from alower foam brush.

Item 10: The robotic cleaning apparatus of any preceding item, wherein:

the cleaning head comprises a fluid outlet nozzle.

Item 11: The robotic cleaning apparatus of any preceding item, furthercomprising:

an extension shaft having a distal end,

wherein the cleaning head is mounted to the distal end of the extensionshaft, and the one or more actuators act to move the extension shaftbetween an extended position and a retracted position.

Item 12: The robotic cleaning apparatus of any preceding item, furthercomprising:

a seat pedal rotatably coupled to the body, and positioned to support atoilet seat in a raised position, and

a tilt sensor positioned to sense an angular orientation of the seatpedal.

Item 13: A method of robotically cleaning an inner surface of a basin,the method comprising:

mapping a cleaning path of a first segment of the inner surface, and

cleaning the first segment of the inner surface by moving a cleaninghead along the cleaning path in contact with the first segment.

Item 14: The method of any preceding item, wherein mapping the cleaningpath comprises:

moving the cleaning head into contact with a plurality of locationsalong a length of the first segment, and

recording head position information for each of the plurality oflocations.

Item 15: The method of any preceding item, wherein cleaning the firstsegment comprises:

repeatedly moving the cleaning head along the cleaning path to brush thelength of the first segment.

Item 16: The method of any preceding item, wherein mapping the cleaningpath comprises:

a) moving the cleaning head radially until the cleaning head exerts aforce on the inner surface that is within a predetermined range of forcevalues;

b) recording head position information into memory;

c) rotating the cleaning head about a yaw axis greater than 0 and lessthan 20 degrees relative to the basin; and

d) repeating steps (a) to (c) until the cleaning head has rotated aboutthe yaw axis by a predetermined angle of at least 180 degrees.

Item 17: The method of any preceding item, wherein cleaning the firstsegment comprises:

spraying cleaning fluid from the cleaning head onto the inner surface.

Item 18: The method of any preceding item, further comprising:

mapping a cleaning path of a second segment of the inner surface, and

cleaning the second segment of the inner surface by moving the cleaninghead along the cleaning path of the second segment in contact with thesecond segment.

Item 19: The method of any preceding item, wherein mapping the cleaningpath of the second segment comprises:

a) rotating the cleaning head about a pitch axis to align the cleaninghead with the second segment;

b) moving the cleaning head radially until the cleaning head exerts aforce on the inner surface that is within a predetermined range of forcevalues;

c) recording head position information into memory;

d) rotating the cleaning head about a yaw axis greater than 0 and lessthan 20 degrees relative to the basin; and

e) repeating steps (b) to (d) until the cleaning head has rotated aboutthe yaw axis by a predetermined angle of at least 180 degrees.

Item 20: The method of any preceding item, wherein:

the head position information comprises indications of yaw, pitch, andradial positions of the cleaning head.

Item 21: The method of any preceding item, wherein:

said moving and rotating steps comprise sending control signals from acontroller to one or more actuators that act to move the cleaning head.

Item 22: The method of any preceding item, further comprising:

sensing a pitch angle of a toilet seat;

mapping a cleaning path for the toilet seat; and

cleaning the toilet seat by moving the cleaning head along the cleaningpath in contact with the toilet seat.

Item 23: The method of any preceding item, wherein said cleaning thetoilet seat comprises:

simultaneously brushing upper and lower surfaces of the toilet seat withupper and lower foam brushes of the cleaning head.

Item 24: A method of robotically cleaning an inner surface of a basin,the method comprising:

radially extending a cleaning head into contact with a first segment ofthe inner surface;

rotating the cleaning head about a first axis while modulating a radialextension of the cleaning head to maintain brushing contact of thecleaning head along a length of the first segment;

rotating the cleaning head about a second axis into alignment with asecond segment of the inner surface; and

rotating the cleaning head about the first axis while modulating theradial extension of the cleaning head to maintain brushing contact ofthe cleaning head along a length of the second segment.

Item 25: A method of robotically cleaning an inner surface of a basin,the method comprising:

radially moving a cleaning head into contact with a first segment of theinner surface;

rotating the cleaning head about a first axis while modulating a radialposition of the cleaning head to maintain brushing contact of thecleaning head along a length of the first segment;

rotating the cleaning head about a second axis into alignment with asecond segment of the inner surface; and

rotating the cleaning head about the first axis while modulating theradial position of the cleaning head to maintain brushing contact of thecleaning head along a length of the second segment.

Item 26: A robotic toilet bowl cleaning apparatus comprising:

a toilet bowl mount;

a cleaning head;

a body coupled to the cleaning head and the toilet bowl mount, the bodyhaving one or more actuators that collectively move the cleaning headinto contact with inside surfaces of a toilet bowl when the toilet bowlmount is secured to the toilet bowl,

-   -   the one or more actuators, when activated, collectively move the        cleaning head relative to the inside surfaces with respect to at        least three different axes, including rotation about a vertical        axis and rotation about a horizontal axis; and

a controller communicatively coupled to the one or more actuators tosend control signals that direct the one or more actuators to activate.

Item 27: The robotic toilet bowl cleaning apparatus of any precedingitem, wherein:

the body comprises a first portion coupled to the toilet bowl mount, asecond portion coupled to the first portion and rotatable about thevertical axis relative to the toilet bowl mount, and a third portioncoupled to the second portion and rotatable about the horizontal axisrelative to the second portion.

Item 28: The robotic toilet bowl cleaning apparatus of any precedingitem, wherein:

the third portion comprises a shaft having a distal end, and

the cleaning head is coupled to the distal end of the shaft.

Item 29: The robotic toilet bowl cleaning apparatus of any precedingitem, wherein:

the horizontal axis is perpendicular to a longitudinal axis of theshaft.

Item 30: The robotic toilet bowl cleaning apparatus of any precedingitem, wherein:

the vertical axis intersects the body.

Item 31: The robotic toilet bowl cleaning apparatus of any precedingitem, wherein:

the one or more actuators are operable to rotate the cleaning head by360 degrees about the vertical axis.

Item 32: The robotic toilet bowl cleaning apparatus of any precedingitem, wherein:

the one or more actuators are operable to move the cleaning head in aradially outward direction relative to the vertical axis.

Item 33: A robotic cleaning apparatus for cleaning a dirty object, therobotic cleaning apparatus comprising:

a cleaning head; and

an articulated body coupled to the cleaning head and mountable to thedirty object, the body having one or more actuators that collectivelymove the cleaning head into contact with surfaces of the dirty object,

-   -   the one or more actuators, when activated, collectively pivot        the cleaning head relative to the dirty object about a first        axis, and telescopically extend the cleaning head outwardly away        from the first axis along an extension axis.

Item 34: The robotic cleaning apparatus of any preceding item, furthercomprising:

a telescoping arm including an outer elongate member connected to thearticulated body, and an inner elongate member connected to the cleaninghead, the one or more actuators, when activated, collectively move thetelescoping arm along the extension axis between a retracted positionand an extended position.

Item 35: The robotic cleaning apparatus of any preceding item, wherein:

in the retracted position, a first portion of the outer elongate memberaxially overlaps the articulated body, and a first portion of the innerelongate member axially overlaps the outer elongate member, and

in the extended position, the first portion of the outer elongate memberis axially offset from the articulated body, and the first portion ofthe inner elongate member is axially offset from the outer elongatemember.

Item 36: The robotic cleaning apparatus of any preceding item, wherein:

the telescoping arm further comprises a transmission that drives theinner and outer elongate members to move concurrently between theretracted and extended positions.

Item 37: The robotic cleaning apparatus of any preceding item, wherein:

the transmission drives the inner elongate member to move axiallyrelative to the outer elongate member concurrently as the one or moreactuators drive the outer elongate member to move axially relative tothe articulated body.

Item 38: The robotic cleaning apparatus of any preceding item, wherein:

the transmission comprises a flexible tie rigidly connected to thearticulated body and to the inner elongate member.

Item 39: The robotic cleaning apparatus of any preceding item, wherein:

the transmission comprises first and second axially spaced apart pulleysconnected to the outer elongate member, the flexible tie being mountedto the first and second pulleys.

Item 40: The robotic cleaning apparatus of any preceding item, wherein:the flexible tie comprises one or more of a belt, chain, or rope.

Item 41: The robotic cleaning apparatus of any preceding item, wherein:

the outer elongate member is tubular with a hollow interior, and

in the retracted position, the inner elongate member is at leastpartially nested within the hollow interior of the outer elongatemember.

Item 42: The robotic cleaning apparatus of any preceding item, wherein:

the inner elongate member extends axially from a proximal end to adistal end,

the distal end is axially spaced from the outer elongate member and fromthe articulated body when in the extended position, and

the cleaning head is connected to the distal end of the inner elongatemember.

Item 43: The robotic cleaning apparatus of any preceding item, wherein:

the cleaning head comprises bristles that extend axially outwardly ofthe distal end of the inner elongate member.

Item 44: The robotic cleaning apparatus of any preceding item, furthercomprising:

a controller communicatively coupled to the one or more actuators tosend control signals that direct the one or more actuators to activate.

Item 45: A telescoping arm comprising:

a base;

an outer elongate member connected to the base, and axially movablerelative to the base between retracted and extended positions;

an inner elongate member connected to the outer elongate member, andaxially movable relative to the outer elongate member between theretracted and extended positions; and

a transmission that drives the inner and outer elongate members to moveconcurrently when the telescoping arm moves between the retracted andextended positions.

Item 46: The telescoping arm of any preceding item, wherein:

in the retracted position, a first portion of the outer elongate memberaxially overlaps the base, and a first portion of the inner elongatemember axially overlaps the outer elongate member, and

in the extended position, the first portion of the outer elongate memberis axially offset from the base, and the first portion of the innerelongate member is axially offset from the outer elongate member.

Item 47: The telescoping arm of any preceding item, wherein:

the transmission drives the inner elongate member to move axiallyrelative to the outer elongate member concurrently as the outer elongatemember is moved axially relative to the base.

Item 48: The telescoping arm of any preceding item, wherein:

the transmission comprises a flexible tie rigidly connected to the baseand to the inner elongate member.

Item 49: The telescoping arm of any preceding item, wherein:

the transmission comprises first and second axially spaced apart pulleysconnected to the outer elongate member, the flexible tie being mountedto the first and second pulleys.

Item 50: The telescoping arm of any preceding item, wherein:

the flexible tie comprises one or more of a belt, chain, or rope.

Item 51: The telescoping arm of any preceding item, wherein:

the outer elongate member is tubular with a hollow interior, and

in the retracted position, the inner elongate member is at leastpartially nested within the hollow interior of the outer elongatemember.

Item 52: The telescoping arm of any preceding item, wherein:

the inner elongate member extends axially from a proximal end to adistal end, and

when in the extended position, the distal end of the inner elongatemember is axially spaced from the outer elongate member and from thebase.

Item 53: A robotic cleaning apparatus for cleaning a toilet including atoilet bowl and a toilet seat, the robotic cleaning apparatuscomprising:

a cleaning head;

an articulated body coupled to the cleaning head and mountable to thetoilet, the body having one or more actuators that collectively move thecleaning head into contact with surfaces of the toilet bowl and toiletseat when the articulated body is mounted to the toilet; and

a controller communicatively coupled to the one or more actuators tosend control signals that, when the articulated body is mounted to thetoilet, direct the one or more actuators to

-   -   move the cleaning head to a plurality of positions, the cleaning        head in contact with the toilet seat or a rim of the toilet bowl        in each of the positions, and the cleaning head in contact with        the toilet seat in at least one of the positions, and    -   determine an angular orientation of the toilet seat based at        least in part on the plurality of positions.

Item 54: The robotic cleaning apparatus of any preceding item, wherein:

the plurality of positions includes a first position and a secondposition, and

said moving the cleaning head to the plurality of positions comprisesmoving the cleaning head to the first position in contact with the rimof the toilet bowl and moving the cleaning head to the second positionin contact with the toilet seat.

Item 55: The robotic cleaning apparatus of any preceding item, wherein:

said moving the cleaning head to the second position comprises movingthe cleaning head in a linear direction from the first position to thesecond position.

Item 56: The robotic cleaning apparatus of any preceding item, wherein:

the linear direction is vertical.

Item 57: The robotic cleaning apparatus of any preceding item, furthercomprising:

a contact sensor communicatively coupled to the controller,

wherein said moving the cleaning head to the plurality of positionscomprises, for each position in the plurality of positions, moving thecleaning head until the controller receives sensor readings from thecontact sensor indicative of the cleaning head making contact with thetoilet.

Item 58: The robotic cleaning apparatus of any preceding item, furthercomprising:

a contact sensor communicatively coupled to the controller,

wherein said moving the cleaning head to the first position comprisesmoving the cleaning head in a first direction until the controllerreceives sensor readings from the contact sensor indicative of contactwith the cleaning head.

Item 59: The robotic cleaning apparatus of any preceding item, wherein:

said moving the cleaning head to the second position comprises movingthe cleaning head in a second direction, transverse to the firstdirection, until the controller receives sensor readings from thecontact sensor indicative of contact with the cleaning head.

Item 60: The robotic cleaning apparatus of any preceding item, wherein:

the second direction is perpendicular to the first direction.

Item 61: The robotic cleaning apparatus of any preceding item, wherein:

the plurality of positions includes at least three different positions,and

the cleaning head is in contact with the toilet seat in all of thepositions.

Item 62: A method of determining an angular orientation of a toilet seatof a toilet, the toilet including the toilet seat and a toilet bowl, themethod comprising:

moving a cleaning head of a robotic cleaning apparatus to a plurality ofpositions, the robotic cleaning apparatus mounted to the toilet, thecleaning head in contact with the toilet seat or a rim of the toiletbowl in each of the positions, and the cleaning head in contact with thetoilet seat in at least one of the positions; and

determining, by a controller of the robotic cleaning apparatus, anangular orientation of the toilet seat based at least in part on theplurality of positions.

Item 63: The method of any preceding item, wherein:

the plurality of positions includes a first position and a secondposition, and

said moving the cleaning head to the plurality of positions comprisesmoving the cleaning head to the first position in contact with the rimof the toilet bowl and moving the cleaning head to a second position incontact with the toilet seat.

Item 64: The method of any preceding item, wherein:

said moving the cleaning head to the second position comprises movingthe cleaning head in a linear direction from the first position to thesecond position.

Item 65: The method of any preceding item, wherein:

the linear direction is vertical.

Item 66: The method of any preceding item, wherein:

said moving the cleaning head to the plurality of positions comprises,for each position in the plurality of positions, moving the cleaninghead until the controller receives sensor readings from a contact sensorindicative of the cleaning head making contact with the toilet.

Item 67: The method of any preceding item, wherein:

said moving the cleaning head to the first position comprises moving thecleaning head in a first direction until the controller receives sensorreadings from a contact sensor indicative of the cleaning headcontacting the rim of the toilet bowl.

Item 68: The method of any preceding item, wherein:

said moving the cleaning head to the second position comprises movingthe cleaning head in a second direction, transverse to the firstdirection, until the controller receives sensor readings from thecontact sensor indicative of the cleaning head contacting the toiletseat.

Item 69: The method of any preceding item, wherein:

the second direction is perpendicular to the first direction.

Item 70: The method of any preceding item, wherein:

the plurality of positions includes at least three different positions,and

the cleaning head is in contact with the toilet seat in all of thepositions.

Item 71: The method of any preceding item, wherein:

said moving the cleaning head to the plurality of positions comprisesthe controller sending control signals to activate one or more of aplurality of actuators of the robotic cleaning apparatus.

1. A robotic cleaning apparatus for cleaning a toilet including a toilet bowl and a toilet seat, the robotic cleaning apparatus comprising: a cleaning head; an articulated body coupled to the cleaning head and mountable to the toilet, the body having one or more actuators that collectively move the cleaning head into contact with surfaces of the toilet bowl and toilet seat when the articulated body is mounted to the toilet; and a controller communicatively coupled to the one or more actuators to send control signals that, when the articulated body is mounted to the toilet, direct the one or more actuators to move the cleaning head to a plurality of positions, the cleaning head in contact with the toilet seat or a rim of the toilet bowl in each of the positions, and the cleaning head in contact with the toilet seat in at least one of the positions, and determine an angular orientation of the toilet seat based at least in part on the plurality of positions.
 2. The robotic cleaning apparatus of claim 1, wherein: the plurality of positions includes at least three different positions, and the cleaning head is in contact with the toilet seat in all of the positions.
 3. The robotic cleaning apparatus of claim 1, wherein: the plurality of positions includes a first position and a second position, and said moving the cleaning head to the plurality of positions comprises moving the cleaning head to the first position in contact with the rim of the toilet bowl and moving the cleaning head to the second position in contact with the toilet seat.
 4. The robotic cleaning apparatus of claim 3, wherein: said moving the cleaning head to the second position comprises moving the cleaning head in a linear direction from the first position to the second position.
 5. The robotic cleaning apparatus of claim 4, wherein: the linear direction is vertical.
 6. The robotic cleaning apparatus of claim 1, further comprising: a contact sensor communicatively coupled to the controller, wherein said moving the cleaning head to the plurality of positions comprises, for each position in the plurality of positions, moving the cleaning head until the controller receives sensor readings from the contact sensor indicative of the cleaning head making contact with the toilet.
 7. The robotic cleaning apparatus of claim 3, further comprising: a contact sensor communicatively coupled to the controller, wherein said moving the cleaning head to the first position comprises moving the cleaning head in a first direction until the controller receives sensor readings from the contact sensor indicative of contact with the cleaning head.
 8. The robotic cleaning apparatus of claim 7, wherein: said moving the cleaning head to the second position comprises moving the cleaning head in a second direction, transverse to the first direction, until the controller receives sensor readings from the contact sensor indicative of contact with the cleaning head.
 9. The robotic cleaning apparatus of claim 8, wherein: the second direction is perpendicular to the first direction.
 10. A method of determining an angular orientation of a toilet seat of a toilet, the toilet including the toilet seat and a toilet bowl, the method comprising: moving a cleaning head of a robotic cleaning apparatus to a plurality of positions, the robotic cleaning apparatus mounted to the toilet, the cleaning head in contact with the toilet seat or a rim of the toilet bowl in each of the positions, and the cleaning head in contact with the toilet seat in at least one of the positions; and determining, by a controller of the robotic cleaning apparatus, an angular orientation of the toilet seat based at least in part on the plurality of positions.
 11. The method of claim 10, wherein: the plurality of positions includes at least three different positions, and the cleaning head is in contact with the toilet seat in all of the positions.
 12. The method of claim 10, wherein: the plurality of positions includes a first position and a second position, and said moving the cleaning head to the plurality of positions comprises moving the cleaning head to the first position in contact with the rim of the toilet bowl and moving the cleaning head to a second position in contact with the toilet seat.
 13. The method of claim 12, wherein: said moving the cleaning head to the second position comprises moving the cleaning head in a linear direction from the first position to the second position.
 14. The method of claim 13, wherein: the linear direction is vertical.
 15. The method of claim 10, wherein: said moving the cleaning head to the plurality of positions comprises, for each position in the plurality of positions, moving the cleaning head until the controller receives sensor readings from a contact sensor indicative of the cleaning head making contact with the toilet.
 16. The method of claim 12, wherein: said moving the cleaning head to the first position comprises moving the cleaning head in a first direction until the controller receives sensor readings from a contact sensor indicative of the cleaning head contacting the rim of the toilet bowl.
 17. The method of claim 16, wherein: said moving the cleaning head to the second position comprises moving the cleaning head in a second direction, transverse to the first direction, until the controller receives sensor readings from the contact sensor indicative of the cleaning head contacting the toilet seat.
 18. The method of claim 17, wherein: the second direction is perpendicular to the first direction.
 19. The method of claim 10, wherein: said moving the cleaning head to the plurality of positions comprises the controller sending control signals to activate one or more of a plurality of actuators of the robotic cleaning apparatus. 